//
//  HardwareInformation.h
//  MCBLESDK
//  获取硬件信息
//  Created by Jany on 2018/1/2.
//  Copyright © 2018年 MillionConcept. All rights reserved.
//

#import <Foundation/Foundation.h>

typedef enum : NSUInteger {
    MCCaculate = 0,//采用 mc 的计算公式计算卡路里
    LEFCaculate,//采用 lef 的计算公式计算卡路里
    BEUCaculate,//采用 beu 的计算公式计算卡路里
    NothingCaculate,//未知
} CaloriCaculateType;

typedef enum : NSUInteger {
    NoRealTimeBroadcast = 0,//蓝牙非实时广播
    RealTimeBroadcast,//蓝牙实时广播
    OperationBroadcast,//蓝牙手动广播
    TimingBroadcast,//蓝牙定时传输
} BluetoothBroadcastType;//蓝牙广播类型

typedef enum : NSUInteger {
    NoRemindNoConten = 0,//信息提醒关闭，信息内容关闭
    HaveRemindNoContent,//信息提醒开启，信息内容关闭
    HaveRemindHaveContent,//信息提醒开启，信息内容开启
    NothingRemindHaveContent,//未知
} MessageContentRemindType;//信息提醒方式

@interface HardwareInformation : NSObject

/**
 获取硬件信息
 
 @param dData 设备返回的数据
 @return 实例模型
 */
- (instancetype)initWithData:(NSData *)dData;

@property (nonatomic, copy) NSString *deviceModel;//设备型号
@property (nonatomic, copy) NSString *hardwareEdition;//硬件版本
@property (nonatomic, copy) NSString *firmwareEdition;//固件版本

//设备信息1
@property (nonatomic, assign) BOOL takePhotoFunctionFlag;//有/无照相功能
@property (nonatomic, assign) BOOL buttonLockFlag;//设备有/无按键锁
@property (nonatomic, assign) BOOL shakeSwitchFlag;//禁止/启动马达震动总开关
@property (nonatomic, assign) BOOL findPhoneFunctionFlag;//开启/关闭寻找手机功能
@property (nonatomic, assign) BOOL highDelicacyStepALGFlag;//启用高/低灵敏度计步算法(w311v86 计步算法)
@property (nonatomic, assign) BOOL openMusicFunctionViewFlag;//设备开启/关闭音乐功能的界面
@property (nonatomic, assign) BOOL bluetoothSwitchFlag;//设备有/无蓝牙开关界面
@property (nonatomic, assign) BOOL privacyProtectionFlag;//设备有/无隐私保护

//设备信息2
@property (nonatomic, assign) BOOL secondViewFlag;//有/无二级返回界面
@property (nonatomic, assign) BOOL HRShakePerFiveMinuteFlag;//有/无心率5分钟震动提醒
@property (nonatomic, assign) BOOL callOrMessageRemindFlag;//有/无来电/信息震动提醒
@property (nonatomic, assign) BOOL HRDataCachFullRemindFlag;//心率存储存满是/否提醒
@property (nonatomic, assign) BOOL showPinNumberFlag;//设备重启后有/无 6 位 pin 码
@property (nonatomic, assign) BOOL caloriShowTypeFlag;//no:卡路里显示的 icon 是“心” yes:卡路里显示的 icon 是“火”
@property (nonatomic, assign) CaloriCaculateType caloriType;//卡路里计算方式

//设备信息3
@property (nonatomic, assign) BOOL sleepFunctionFlag;//有/无睡眠界面和睡眠功能

//设备信息4
@property (nonatomic, assign) BluetoothBroadcastType broadcastType;//蓝牙广播的类型
@property (nonatomic, assign) BOOL wearFlag;//No:佩戴左手 Yes:佩戴右手
@property (nonatomic, assign) BOOL lostRemindFlag;//No:防丢提醒关闭 Yes:防丢提醒开启
@property (nonatomic, assign) BOOL callRemindFlag;//No:来电提醒关闭 Yes:来电提醒开启
@property (nonatomic, assign) MessageContentRemindType  messageRemindStyle;//信息提醒方式
@property (nonatomic, assign) BOOL messageRemindViewFlag;//No:信息提醒界面无 icon Yes:信息提醒界面增加相应的 icon

//设备信息5
@property (nonatomic, assign) BOOL setBaseInformationFlag;//是否设置了----手机发送基准时间给设备:用户设定公/英制 12H/24H 制，经常 活动地,本地日期,本地时间给设备
@property (nonatomic, assign) BOOL shakeWhenConnectDeviceFlag;//No:连接蓝牙时马达不震动 Yes:连接蓝牙时马达不震动
@property (nonatomic, assign) BOOL hockWhenConnectDeviceFlag;//No:连接蓝牙时屏幕不显示勾 Yes:连接蓝牙时屏幕显示勾

//设备信息6
@property (nonatomic, assign) BOOL ANCSFlag;//No:未启动 ANCS Yes:已启动 ANCS

@property (nonatomic, assign) NSInteger battery;//电量 (1—100)
@end
